package br.com.imob.bo;

import java.util.List;

import br.com.imob.dao.CidadeDao;
import br.com.imob.modelo.Cidade;

public class CidadeBO {
	
	private CidadeDao cdao;
	private Cidade cidade;
	private String flag;
	
	public CidadeBO() { 
		setCdao(new CidadeDao());
		setCidade(new Cidade());
	}
	
//	CRUD
	public void adicionarCidade( Cidade login ) {
		cdao.adicionarCidade(login);
	}
	
	public void removerCidade( Cidade login ) {
		cdao.removerCidade(login);
	}
	
	public void atualizarCidade( Cidade login ) {
		cdao.atualizarCidade(login);
	}
	
	public List<Cidade> getAllCidades( ) {
		return cdao.getCidades();
	}
	
	
	public List<Cidade> getCidadesFlags(String state) {
		String query = "SELECT c FROM Cidade c, Estado e WHERE e.estadoId = c.estado " +
						"AND e.estado ='"+state+"'";
		return cdao.getCidadesByQuery(query);
	}
	
	public String[] getArrayCidades( ) {
		
		int size = getAllCidades().size();
		String[] cidades = new String[ size ];
		
		for (int i = 0; i < size; i++) 
			cidades[i] = cdao.getCidades().get(i).getCidade();
		
		return cidades;
	}
	
	public Cidade getCidadeById( Integer key ) {
		return cdao.getCidade(key);
	}
	
	public Cidade getCidadeByCidade( String city ) {
		return cdao.getCidadeQNamed(city);
	}
//	Fim do CRUD 
	
	
	
//	Getts and Setts
	public void setCdao(CidadeDao ldao) { this.cdao = ldao; }
	public CidadeDao getCdao() { return cdao; }

	public void setCidade(Cidade cidade) { this.cidade = cidade; }
	public Cidade getCidade() { return cidade; }

	public void setFlag(String flag) { this.flag = flag; }
	public String getFlag() { return flag; }
	
}